{
  "cells": [
    {
      "cell_type": "code",
      "execution_count": 1,
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "%pylab is deprecated, use %matplotlib inline and import the required libraries.\n",
            "Populating the interactive namespace from numpy and matplotlib\n"
          ]
        }
      ],
      "source": [
        "%pylab inline"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 2,
      "metadata": {
        "id": "ZFIUad9FIlm5"
      },
      "outputs": [],
      "source": [
        "import webdataset as wds\n",
        "import webdataset.wids as wids\n",
        "from typing import Any, Dict, Optional, Union\n",
        "import io"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 3,
      "metadata": {
        "id": "8GhsTkGHIrTE"
      },
      "outputs": [],
      "source": [
        "shards = [dict(url=\"gs://lpr-torchvision/mnist-train.tar\", nsamples=50000)]\n",
        "ds = wids.ShardListDataset(shards, keep=True)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 4,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 323
        },
        "id": "_HS3Gv6Cj_DM",
        "outputId": "48dafb8d-a3f7-4c43-aa7f-e158f727935a"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "gs://lpr-torchvision/mnist-train.tar /tmp/wids/mnist-train.tar /tmp/wids/mnist-train.tar._3836221_\n",
            "Loading tar index from /tmp/wids/mnist-train.tar.index\n"
          ]
        },
        {
          "data": {
            "text/plain": [
              "<matplotlib.image.AxesImage at 0x7f31b3863d90>"
            ]
          },
          "execution_count": 4,
          "metadata": {},
          "output_type": "execute_result"
        },
        {
          "data": {
            "image/png": "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ggABAEwQIACACW5Gil41Y/g575l4bj552/7veM9IUlppk/fMl/RBXMfylbetVw4jSbr6/Wu9Z25IGZaElVxo9XvzvGdu0G+SsBJcLq6AAAAmCBAAwAQBAgCYIEAAABMECABgggABAEwQIACACQIEADBBgAAAJggQAMAEAQIAmCBAAAAT3IwUveqc6/ae2f7pcO+Za1b438BUkvxvldq3/emxv49r7p38n3vPxPPr9PPD3/Ke+crzJ7xnBtqv60DBFRAAwAQBAgCY8A7Qzp07deeddyo3N1eBQECbN2+Oed45pyeffFI5OTkaPny4iouLdfDgwUStFwAwQHgHqKOjQwUFBaqsrOzx+XXr1um5557Tiy++qN27d+uqq65SSUmJTp8+fdmLBQAMHN4fQigtLVVpaWmPzznn9Oyzz+rxxx/X7NmzJUmvvPKKsrKytHnzZt11112Xt1oAwICR0PeAmpub1draquLi4uhjoVBIhYWFqqur63Gms7NTkUgkZgMADHwJDVBra6skKSsrK+bxrKys6HOfV1FRoVAoFN3y8vISuSQAQB9l/im48vJyhcPh6NbS0mK9JABAL0hogLKzsyVJbW1tMY+3tbVFn/u8YDCotLS0mA0AMPAlNED5+fnKzs5WdXV19LFIJKLdu3erqKgokYcCAPRz3p+CO3nypBobG6NfNzc3a9++fUpPT9eYMWO0YsUK/fjHP9b111+v/Px8PfHEE8rNzdWcOXMSuW4AQD/nHaA9e/bojjvuiH69atUqSdLChQtVVVWlRx99VB0dHVqyZIlOnDih2267Tdu2bdOwYcMSt2oAQL/nHaDp06fLOXfR5wOBgNauXau1a9de1sIwMB07d8p75qPT13nPdP9h4H2YZfAN471n3nrg6TiP5n9j0XEp/+49c+77Ie+Z7o8+9p5B32T+KTgAwJWJAAEATBAgAIAJAgQAMEGAAAAmCBAAwAQBAgCYIEAAABMECABgggABAEwQIACACQIEADBBgAAAJrzvhg1cjv+w5794z+wtfMV75rW7S7xnJOmaqrq45nwNyc7ynjnydIr3TP6Q3vtnUOb+8yPeM6P3f5CElaC/4AoIAGCCAAEATBAgAIAJAgQAMEGAAAAmCBAAwAQBAgCYIEAAABMECABgggABAEwQIACACQIEADDBzUjRq7J+7n9zzJO3dHrPFP/g194zkvTb7aO9Z87+6Yj3zL/fke89s+frv/CekQJxzEiTd/2j98yY5/+390y39wQGEq6AAAAmCBAAwAQBAgCYIEAAABMECABgggABAEwQIACACQIEADBBgAAAJggQAMAEAQIAmCBAAAAT3IwUvWrIjnrvmbsPfsd75u0J/9N7RpJWb/Wf+bfvT/GeefxHVd4z3XL+xznmvzZJGj3/d94z3FgUvrgCAgCYIEAAABMECABgggABAEwQIACACQIEADBBgAAAJggQAMAEAQIAmCBAAAATBAgAYIIAAQBMcDNS9Hmtm8d6zzQ/dDquY63J3Os9M+i1fd4z8dxY9PDZT71ntv9LkfeMJI1SXVxzgA+ugAAAJggQAMCEd4B27typO++8U7m5uQoEAtq8eXPM84sWLVIgEIjZZs2alaj1AgAGCO8AdXR0qKCgQJWVlRfdZ9asWTp69Gh027hx42UtEgAw8Hh/CKG0tFSlpaVfuE8wGFR2dnbciwIADHxJeQ+opqZGmZmZmjBhgpYtW6bjx49fdN/Ozk5FIpGYDQAw8CU8QLNmzdIrr7yi6upq/fSnP1Vtba1KS0t17ty5HvevqKhQKBSKbnl5eYleEgCgD0r43wO66667oj++6aabNHnyZI0fP141NTWaMWPGBfuXl5dr1apV0a8jkQgRAoArQNI/hj1u3DhlZGSosbGxx+eDwaDS0tJiNgDAwJf0AB0+fFjHjx9XTk5Osg8FAOhHvP8I7uTJkzFXM83Nzdq3b5/S09OVnp6uNWvWaP78+crOzlZTU5MeffRRXXfddSopKUnowgEA/Zt3gPbs2aM77rgj+vVn798sXLhQL7zwgvbv369f/vKXOnHihHJzczVz5kz96Ec/UjAYTNyqAQD9XsA5539XxCSKRCIKhUKartkaEkixXg76qfC934hrbu2al7xnZgzv9J6J52akN//mH71ncud+5D0DXK6zrks12qJwOPyF7+tzLzgAgAkCBAAwQYAAACYIEADABAECAJggQAAAEwQIAGCCAAEATBAgAIAJAgQAMEGAAAAmCBAAwAQBAgCYSPg/yQ30Ben7/m9ccztPTvSemTH8t94zgxTwnnn17172nin/0jzvGUk6+6cjcc0BPrgCAgCYIEAAABMECABgggABAEwQIACACQIEADBBgAAAJggQAMAEAQIAmCBAAAATBAgAYIIAAQBMcDNSDEgfLx0Z19yWUfu8Z16K5HnPZA6JeM/8w4iw90zB1sPeM5L029Ic75mzrW1xHQtXLq6AAAAmCBAAwAQBAgCYIEAAABMECABgggABAEwQIACACQIEADBBgAAAJggQAMAEAQIAmCBAAAAT3IwUfd6puYXeMy+WvhzXsTa2Z3nPvPLEnd4zJ3MHe8989aGnvWfWZO71npGkGb8c7z0z4h/8fztxZ896z2Dg4AoIAGCCAAEATBAgAIAJAgQAMEGAAAAmCBAAwAQBAgCYIEAAABMECABgggABAEwQIACACQIEADDBzUjR5x0ucd4zdww/HdexFjRN95656r/v9p/xnpAe2P+g98yvXv1vcRxJem/S//Ce+U+j53jPnP3DIe8ZDBxcAQEATBAgAIAJrwBVVFTolltuUWpqqjIzMzVnzhw1NDTE7HP69GmVlZXp2muv1dVXX6358+erra0toYsGAPR/XgGqra1VWVmZdu3ape3bt6urq0szZ85UR0dHdJ+VK1fq7bff1ptvvqna2lodOXJE8+bNS/jCAQD9m9eHELZt2xbzdVVVlTIzM1VfX69p06YpHA7rpZde0oYNG/Stb31LkrR+/Xp95Stf0a5du/SNb3wjcSsHAPRrl/UeUDgcliSlp6dLkurr69XV1aXi4uLoPhMnTtSYMWNUV1fX4/fo7OxUJBKJ2QAAA1/cAeru7taKFSt06623atKkSZKk1tZWDR06VCNHjozZNysrS62trT1+n4qKCoVCoeiWl5cX75IAAP1I3AEqKyvTgQMH9Nprr13WAsrLyxUOh6NbS0vLZX0/AED/ENdfRF2+fLm2bt2qnTt3avTo0dHHs7OzdebMGZ04cSLmKqitrU3Z2dk9fq9gMKhgMBjPMgAA/ZjXFZBzTsuXL9emTZu0Y8cO5efnxzw/ZcoUpaSkqLq6OvpYQ0ODDh06pKKiosSsGAAwIHhdAZWVlWnDhg3asmWLUlNTo+/rhEIhDR8+XKFQSPfff79WrVql9PR0paWl6cEHH1RRURGfgAMAxPAK0AsvvCBJmj59eszj69ev16JFiyRJP/vZzzRo0CDNnz9fnZ2dKikp0S9+8YuELBYAMHB4Bci5S98UctiwYaqsrFRlZWXciwL+2i9n/ov3zCfnPo3rWE1vXe89c9WC8d4zn/xdwHsmffKfvWcGyf84QG/hXnAAABMECABgggABAEwQIACACQIEADBBgAAAJggQAMAEAQIAmCBAAAATBAgAYIIAAQBMECAAgAkCBAAwEde/iAr0pm7n//9JGYOHx3WsPY887z0Tzx2nu3XpO8snQnecc4fOxnE38a6zcR4NVyqugAAAJggQAMAEAQIAmCBAAAATBAgAYIIAAQBMECAAgAkCBAAwQYAAACYIEADABAECAJggQAAAE9yMFH3ekn/7nvfM725fn4SV9D+/OxPfDUKXP/KQ98xVf9od17Fw5eIKCABgggABAEwQIACACQIEADBBgAAAJggQAMAEAQIAmCBAAAATBAgAYIIAAQBMECAAgAkCBAAwwc1I0eeNe/qc98xXuu+P61i//+ZL3jPVnwa9Z1b+9rveM8P+V5r3TPa//tF7RuLGougdXAEBAEwQIACACQIEADBBgAAAJggQAMAEAQIAmCBAAAATBAgAYIIAAQBMECAAgAkCBAAwQYAAACa4GSn6PFf/O++Z8ffEd6z/qCnxDXoaLf+fUzzO9spRgPhwBQQAMEGAAAAmvAJUUVGhW265RampqcrMzNScOXPU0NAQs8/06dMVCARitqVLlyZ00QCA/s8rQLW1tSorK9OuXbu0fft2dXV1aebMmero6IjZb/HixTp69Gh0W7duXUIXDQDo/7w+hLBt27aYr6uqqpSZman6+npNmzYt+viIESOUnZ2dmBUCAAaky3oPKBwOS5LS09NjHn/11VeVkZGhSZMmqby8XKdOnbro9+js7FQkEonZAAADX9wfw+7u7taKFSt06623atKkSdHH77nnHo0dO1a5ubnav3+/HnvsMTU0NOitt97q8ftUVFRozZo18S4DANBPBZxzLp7BZcuW6Ve/+pXef/99jR49+qL77dixQzNmzFBjY6PGjx9/wfOdnZ3q7OyMfh2JRJSXl6fpmq0hgZR4lgYAMHTWdalGWxQOh5WWlnbR/eK6Alq+fLm2bt2qnTt3fmF8JKmwsFCSLhqgYDCoYDAYzzIAAP2YV4Ccc3rwwQe1adMm1dTUKD8//5Iz+/btkyTl5OTEtUAAwMDkFaCysjJt2LBBW7ZsUWpqqlpbWyVJoVBIw4cPV1NTkzZs2KBvf/vbuvbaa7V//36tXLlS06ZN0+TJk5PyEwAA9E9e7wEFAoEeH1+/fr0WLVqklpYWfe9739OBAwfU0dGhvLw8zZ07V48//vgX/jngX4tEIgqFQrwHBAD9VFLeA7pUq/Ly8lRbW+vzLQEAVyjuBQcAMEGAAAAmCBAAwAQBAgCYIEAAABMECABgggABAEwQIACACQIEADBBgAAAJggQAMAEAQIAmCBAAAATBAgAYIIAAQBMECAAgAkCBAAwQYAAACYIEADABAECAJggQAAAEwQIAGCCAAEATBAgAIAJAgQAMDHEegGf55yTJJ1Vl+SMFwMA8HZWXZL+8vv5xfS5ALW3t0uS3tc7xisBAFyO9vZ2hUKhiz4fcJdKVC/r7u7WkSNHlJqaqkAgEPNcJBJRXl6eWlpalJaWZrRCe5yH8zgP53EezuM8nNcXzoNzTu3t7crNzdWgQRd/p6fPXQENGjRIo0eP/sJ90tLSrugX2Gc4D+dxHs7jPJzHeTjP+jx80ZXPZ/gQAgDABAECAJjoVwEKBoNavXq1gsGg9VJMcR7O4zycx3k4j/NwXn86D33uQwgAgCtDv7oCAgAMHAQIAGCCAAEATBAgAICJfhOgyspKffnLX9awYcNUWFio3/zmN9ZL6nVPPfWUAoFAzDZx4kTrZSXdzp07deeddyo3N1eBQECbN2+Oed45pyeffFI5OTkaPny4iouLdfDgQZvFJtGlzsOiRYsueH3MmjXLZrFJUlFRoVtuuUWpqanKzMzUnDlz1NDQELPP6dOnVVZWpmuvvVZXX3215s+fr7a2NqMVJ8ffch6mT59+weth6dKlRivuWb8I0Ouvv65Vq1Zp9erV+vDDD1VQUKCSkhIdO3bMemm97sYbb9TRo0ej2/vvv2+9pKTr6OhQQUGBKisre3x+3bp1eu655/Tiiy9q9+7duuqqq1RSUqLTp0/38kqT61LnQZJmzZoV8/rYuHFjL64w+Wpra1VWVqZdu3Zp+/bt6urq0syZM9XR0RHdZ+XKlXr77bf15ptvqra2VkeOHNG8efMMV514f8t5kKTFixfHvB7WrVtntOKLcP3A1KlTXVlZWfTrc+fOudzcXFdRUWG4qt63evVqV1BQYL0MU5Lcpk2bol93d3e77Oxs9/TTT0cfO3HihAsGg27jxo0GK+wdnz8Pzjm3cOFCN3v2bJP1WDl27JiT5Gpra51z53/tU1JS3Jtvvhnd5/e//72T5Orq6qyWmXSfPw/OOffNb37T/eAHP7Bb1N+gz18BnTlzRvX19SouLo4+NmjQIBUXF6uurs5wZTYOHjyo3NxcjRs3Tvfee68OHTpkvSRTzc3Nam1tjXl9hEIhFRYWXpGvj5qaGmVmZmrChAlatmyZjh8/br2kpAqHw5Kk9PR0SVJ9fb26urpiXg8TJ07UmDFjBvTr4fPn4TOvvvqqMjIyNGnSJJWXl+vUqVMWy7uoPncz0s/75JNPdO7cOWVlZcU8npWVpY8//thoVTYKCwtVVVWlCRMm6OjRo1qzZo1uv/12HThwQKmpqdbLM9Ha2ipJPb4+PnvuSjFr1izNmzdP+fn5ampq0g9/+EOVlpaqrq5OgwcPtl5ewnV3d2vFihW69dZbNWnSJEnnXw9Dhw7VyJEjY/YdyK+Hns6DJN1zzz0aO3ascnNztX//fj322GNqaGjQW2+9ZbjaWH0+QPiL0tLS6I8nT56swsJCjR07Vm+88Ybuv/9+w5WhL7jrrruiP77ppps0efJkjR8/XjU1NZoxY4bhypKjrKxMBw4cuCLeB/0iFzsPS5Ysif74pptuUk5OjmbMmKGmpiaNHz++t5fZoz7/R3AZGRkaPHjwBZ9iaWtrU3Z2ttGq+oaRI0fqhhtuUGNjo/VSzHz2GuD1caFx48YpIyNjQL4+li9frq1bt+q9996L+edbsrOzdebMGZ04cSJm/4H6erjYeehJYWGhJPWp10OfD9DQoUM1ZcoUVVdXRx/r7u5WdXW1ioqKDFdm7+TJk2pqalJOTo71Uszk5+crOzs75vURiUS0e/fuK/71cfjwYR0/fnxAvT6cc1q+fLk2bdqkHTt2KD8/P+b5KVOmKCUlJeb10NDQoEOHDg2o18OlzkNP9u3bJ0l96/Vg/SmIv8Vrr73mgsGgq6qqch999JFbsmSJGzlypGttbbVeWq966KGHXE1NjWtubna//vWvXXFxscvIyHDHjh2zXlpStbe3u71797q9e/c6Se6ZZ55xe/fudX/84x+dc8795Cc/cSNHjnRbtmxx+/fvd7Nnz3b5+fnu008/NV55Yn3ReWhvb3cPP/ywq6urc83Nze7dd991N998s7v++uvd6dOnrZeeMMuWLXOhUMjV1NS4o0ePRrdTp05F91m6dKkbM2aM27Fjh9uzZ48rKipyRUVFhqtOvEudh8bGRrd27Vq3Z88e19zc7LZs2eLGjRvnpk2bZrzyWP0iQM459/zzz7sxY8a4oUOHuqlTp7pdu3ZZL6nXLViwwOXk5LihQ4e6L33pS27BggWusbHRellJ99577zlJF2wLFy50zp3/KPYTTzzhsrKyXDAYdDNmzHANDQ22i06CLzoPp06dcjNnznSjRo1yKSkpbuzYsW7x4sUD7n/Sevr5S3Lr16+P7vPpp5+6Bx54wF1zzTVuxIgRbu7cue7o0aN2i06CS52HQ4cOuWnTprn09HQXDAbddddd5x555BEXDodtF/45/HMMAAATff49IADAwESAAAAmCBAAwAQBAgCYIEAAABMECABgggABAEwQIACACQIEADBBgAAAJggQAMAEAQIAmPh/30npAhe9bM0AAAAASUVORK5CYII=",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "imshow(ds[1788][\".png\"])"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 5,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "sXDHRU15kH0a",
        "outputId": "29c24dfc-7c0f-4677-e9ee-c00aa1fdac69"
      },
      "outputs": [],
      "source": [
        "for i in range(len(ds)):\n",
        "    _ = ds[i]"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "uhmLhWLTkNt8"
      },
      "outputs": [],
      "source": []
    }
  ],
  "metadata": {
    "colab": {
      "provenance": []
    },
    "kernelspec": {
      "display_name": "Python 3",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.10.12"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}
